package io;

import java.io.*;

/**
 * 使用缓冲字符输入流读取文本数据
 */
public class BRDemo {
    public static void main(String[] args) throws IOException {
        FileInputStream fis = new FileInputStream("./src/main/java/io/BRDemo.java");
        InputStreamReader isr = new InputStreamReader(fis);
        BufferedReader br = new BufferedReader(isr);
        /*
            BufferedReader提供了读取一行字符串的操作:
            String readLine()
            该方法第一次调用后，缓冲流一次性读取8192个字符存入内部char数组中(块读)
            并将数组中第一行字符串返回(连续扫描字符，遇到换行符停止，将之前的字符组成字符串)
            第二次调用则在上次换行符之后继续扫描直到换行符位置，将之间的字符组成字符串返回
            这里有几种情况:
            1：正常返回一行字符串
            2：如果是空行(这一行只有换行符)则返回空字符串
            3：返回null表示流读取到了末尾
         */
//        String line = br.readLine();
//        System.out.println(line);
        String line;
        while((line = br.readLine())!=null){
            System.out.println(line);
        }

        br.close();
    }
}




